Block prediction method using improved direct mode

ABSTRACT

A block prediction method using improved direct mode for B picture in a moving picture coding system obtains forward and backward motion vectors of direct mode, obtains two distinct motion-compensated blocks using the forward and backward motion vectors, and predicts a block of the B picture which is about to be coded (or decoded) presently by applying an interpolative prediction to the above blocks, and thereby, accuracy of the predicted block can be improved and the coding efficiency also can be improved.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a moving picture coding system, and particularly, to a block prediction method using improved direct mode for a B picture.

[0003] 2. Description of the Background Art

[0004] In a moving picture coding system, one of advantages for using B picture is that a direct prediction mode which does not add overhead information is selected more than any other prediction modes (a forward prediction, a backward prediction, a bidirectional prediction and intra prediction, etc.). Therefore, the moving picture coding system is able to have higher coding efficiency when using the B picture than the coding efficiency when using only P picture.

[0005] In the B picture, the block prediction method using the direct mode is to calculate forward motion vector and backward motion vector as scaled versions of a motion vector of a co-located block in a backward reference picture for direct mode, to obtain two distinct motion-compensated blocks using above motion vectors, and to obtain predicted block by averaging two motion-compensated blocks finally.

[0006] The block prediction method using the direct mode as above will be described in more detail with reference to FIG. 1.

[0007]FIG. 1 is a view showing a picture pattern for describing the block prediction method using the direct mode according to the conventional art. As shown therein, the picture pattern comprises an I-picture (not shown) coded using prediction only from decoded samples within the same picture, P pictures P1, P4, and P7 coded by inter prediction using at most one motion vector from previously-decoded reference pictures, and B-pictures B2, B3, B5 and B6 coded by two inter prediction blocks from previously-decoded reference pictures.

[0008] Also, parameters shown in FIG. 1 will be described first for the convenience' sake. TR_(D) represents a temporal distance between a forward reference picture for direct mode (P1) and a backward reference picture for direct mode (P7), TR_(B) represents a temporal distance between the forward reference picture for direct mode (P1) and a current B picture (B5), MV represents a motion vector of a co-located block in the backward reference picture for direct mode (P7), MV_(f) represents a forward motion vector of direct mode pointing to the forward reference picture for direct mode, and MV_(b) represents a backward motion vector of direct mode pointing to the backward reference picture for direct mode. Herein, the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.

[0009] The block prediction method for direct mode will be described using above parameters as follows.

[0010] First, the forward motion vector of direct mode (MV_(f)) is obtained from a motion vector (MV) of a co-located block B_(s) in the backward reference picture for direct mode (P7) by applying following equation (1). $\begin{matrix} {{MV}_{f} = \frac{{TR}_{B} \times {MV}}{{TR}_{D}}} & (1) \end{matrix}$

[0011] In addition, the backward motion vector of direct mode (MV_(b)) is obtained from a motion vector (MV) of the co-located block B_(S) in the backward reference picture for direct mode (P7) by applying following equation (2). $\begin{matrix} {{MV}_{b} = {\left( {{TR}_{B} - {TR}_{D}} \right) \times \frac{MV}{{TR}_{D}}}} & (2) \end{matrix}$

[0012] Therefore, blocks B_(f) and B_(b) are motion-compensated using the motion vectors MV_(f) and MV_(b) calculated from equations (1) and (2), and after that, the two blocks are averaged to get a prediction value B_(c)′ of a current block B_(c) in the B picture as following equation (3). $\begin{matrix} {B_{c}^{\prime} = \frac{B_{f} + B_{b}}{2}} & (3) \end{matrix}$

[0013] However, according to the block prediction method for the direct mode of the conventional art, the forward motion vector of direct mode is obtained from the motion vector of the co-located block in the backward reference picture for direct mode, and therefore, the obtained value is just an approximated value, not a precise motion vector of the current block of the B picture.

[0014] Also, according to the block prediction method for direct mode of the conventional art, even though the reference picture temporally close to the B picture has higher similarity with the B picture, the block prediction is made using the average of two distinct motion-compensated blocks without considering temporal distance between the reference pictures. Therefore, the accuracy of predicted block is lowered.

[0015] Especially, in a sequence having a fading scene, since brightness of continuous B pictures can be gradually darkened or gradually lightened, the prediction value obtained by simply averaging two motion-compensated blocks has a lot of difference from the original value, and thereby the coding efficiency of the entire system is greatly lowered

SUMMARY OF THE INVENTION

[0016] Therefore, an object of the present invention is to provide a block prediction method using direct mode which has improved coding efficiency by obtaining a forward motion vector of direct mode from a motion vector of a co-located block in a backward reference picture for direct mode, and by obtaining predicted block of a B picture which is about to be coded presently by applying an interpolative prediction to two distinct motion-compensated blocks.

[0017] Also, another object of the present invention is to provide a block prediction method using direct mode which is able to improve accuracy of predicted block and improve a coding efficiency, by obtaining a forward motion vector of direct mode from a reference picture closest to a current B picture, and by obtaining predicted block of a B picture which is coded presently by applying an interpolative prediction to two distinct motion-compensated blocks.

[0018] To achieve the objects of the present invention, as embodied and broadly described herein, there is provided a block prediction method for improved direct mode comprising the steps of: a first step for calculating forward and backward motion vectors of direct mode for a current block in B picture; a second step for obtaining motion-compensated blocks using the forward and backward motion vectors obtained in the first step; and a third step for predicting a block of the B picture which will be coded (or decoded) presently by applying an interpolative prediction for the motion-compensated blocks obtained in the second step, in a method of predicting block of the B picture which will be coded (or decoded) presently.

[0019] The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.

[0021] In the drawings:

[0022]FIG. 1 is a view showing a picture pattern for describing a block prediction method for direct mode according to the conventional art;

[0023]FIG. 2 is a view showing a picture pattern for describing a block prediction method for direct mode according to the present invention;

[0024]FIG. 3 is a view showing a picture pattern for describing an interpolative prediction method according to an embodiment of the present invention; and

[0025]FIG. 4 is a view showing a picture pattern for describing an interpolative prediction method according to another embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0026] Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

[0027] In a block prediction method for direct mode according to the present invention, a forward motion vector and a backward motion vector of direct mode are calculated from a motion vector of a co-located block in a backward reference picture for direct mode, two motion-compensated blocks are obtained using above motion vectors, and finally, a predicted block is obtained by interpolating two motion-compensated blocks.

[0028] Also, in the block prediction method using direct mode according to the present invention, the backward motion vector is calculated from the backward reference picture for direct mode, a forward motion vector of direct mode is calculated from the reference picture closest to the current B picture among the forward reference pictures, and motion-compensated blocks are obtained from above motion vectors, and finally, a predicted block is obtained by interpolating two motion-compensated blocks.

[0029] Hereinafter, an embodiment of the present invention will be described with reference to accompanying Figures as follows.

[0030]FIG. 2 shows a picture pattern for describing the block prediction method for direct mode according to the present invention. As shown therein, the picture pattern comprises an I-picture (not shown) coded using prediction only from decoded samples within the same picture, P pictures P1, P4, and P7 coded by inter prediction using at most one motion vector from previously-decoded reference pictures, and B-pictures B2, B3, B5 and B6 coded by two inter prediction blocks from previously-decoded reference pictures.

[0031] Parameters shown in FIG. 2 will be described first for the convenience' sake. TR_(D) represents a temporal distance between a forward reference picture for direct mode (P1) and a backward reference picture for direct mode (P7), TR_(B) represents a temporal distance between the forward reference picture for direct mode (P1) and a current B picture (B5), TR_(N) represents a temporal distance between the reference picture (P4) closest to the current B picture and the current B picture (B5), MV represents a motion vector of a co-located block in the backward reference picture for direct mode (P7), MV_(f)′ represents a forward motion vector of direct mode pointing to the reference picture (P4) closest to the current B picture, and MV_(B) represents a backward motion vector of direct mode pointing to the backward reference picture for direct mode (P7).

[0032] At that time, the motion vector (MV) of the co-located block B_(S) in the backward reference picture for direct mode (P7) is obtained in the process of coding (or decoding) the backward reference picture for direct mode before the current B picture is coded (or decoded).

[0033] The block prediction method for direct mode as constructed above according to the present invention will be described as follows.

[0034] The forward motion vector (MV_(f)′), which points to the reference picture (P4) having the closest temporal distance among the forward reference pictures, is obtained from following equation (4). $\begin{matrix} {{MV}_{f}^{\prime} = \frac{{TR}_{N} \times {MV}}{{TR}_{D}}} & (4) \end{matrix}$

[0035] In addition, the backward motion vector (MV_(b)), which points to the backward reference picture for direct mode (P7), is obtained from the conventional art using following equation (2). $\begin{matrix} {{MV}_{b} = {\left( {{TR}_{B} - {TR}_{D}} \right) \times \frac{MV}{{TR}_{D}}}} & (2) \end{matrix}$

[0036] Accordingly, motion-compensated blocks B_(f) and B_(b) are obtained using the motion vectors MV_(f)′ and MV_(b) calculated by the equations (2) and (4).

[0037] On the other hand, the predicted value B_(c)′ for the block B_(c) is obtained from the above two motion-compensated blocks B_(f) and B_(b). At that time, the B picture may be located closer to one between the reference picture in which the motion-compensated block B_(f) exists and the backward reference picture for direct mode in which the motion-compensated block B_(b) exists.

[0038] The block prediction method using direct mode according to the present invention can be applied to FIGS. 1 and 2, and therefore, the reference picture in which the motion-compensated block B_(f) exists is the forward reference picture for direct mode (for example, P1 picture in FIG. 1) or the reference picture closest to the B picture (for example, P4 picture in FIG. 2).

[0039] Moreover, in a sequence having a fading scene, the brightness of continuous B pictures can be gradually darkened or gradually lightened, and therefore, the predicted value obtained by simply averaging the two motion-compensated blocks B_(f) and B_(b) as in the conventional art has a large difference from the actually original value. Therefore, the coding efficiency is lowered significantly.

[0040] Therefore, the block prediction method using direct mode according to the present invention performs the interpolative prediction considering the temporal distance between the current B picture and the reference picture in which the motion-compensated block B_(f) exists (that is, the forward reference picture for direct mode or the reference picture closest to the B picture), and considering the temporal distance between the current B picture and the backward reference picture for direct mode, in order to improve the accuracy of the block predicted by the direct mode.

[0041] As shown in FIG. 3, if the forward motion vector of direct mode is obtained using the conventional art, the motion-compensated block B_(f) exists in the forward reference picture for direct mode (P1) and the motion-compensated block B_(b) exists in the backward reference picture for direct mode (P7), the interpolative prediction as following equation (5) is performed. Herein, TR_(D) is the temporal distance between the forward reference picture for direct mode (P1) and the backward reference picture for direct mode (P7), and TR_(B) is the temporal distance between the forward reference picture for direct mode (P1) and the current B picture (B5). Especially, the interpolative prediction method includes the same averaging calculation as the conventional art for a case that the B picture is located on a center between the forward reference picture for direct mode and the backward reference picture for direct mode. $\begin{matrix} {B_{c}^{\prime} = {{B_{f} \times \frac{\left( {{TR}_{D} - {TR}_{B}} \right)}{{TR}_{D}}} + {B_{b} \times \frac{{TR}_{B}}{{TR}_{D}}}}} & (5) \end{matrix}$

[0042] Also, as shown in FIG. 4, in case that the forward motion vector of direct mode is obtained according to the present invention, the motion-compensated block B_(f) exists in the reference picture (P4) closest to the current B picture, and the motion-compensated block B_(b) exists in the backward reference picture for direct mode (P7). Therefore, the interpolative prediction as following equation (6) is performed. Herein, TR_(D) is the temporal distance between the forward reference picture for direct mode (P1) and the backward reference picture for direct mode (P7), and TR_(B) is the temporal distance between the forward reference picture for direct mode (P1) and the current B picture, and TR_(N) is the temporal distance between the reference picture (P4) closest to the current B picture and the current B picture. $\begin{matrix} {B_{C}^{\prime} = {{B_{f} \times \frac{\left( {{TR}_{D} - {TR}_{B}} \right)}{\left( {{TR}_{N} + {TR}_{D} - {TR}_{B}} \right)}} + {B_{b} \times \frac{{TR}_{N}}{\left( {{TR}_{N} + {TR}_{D} - {TR}_{B}} \right)}}}} & (6) \end{matrix}$

[0043] On the other hand, the respective pictures can be represented using a picture order counter, that is, display order information.

[0044] Therefore, the equations (5) and (6) can be represented as following equation (7) using the picture order count values, which are the display order information of respective pictures. Herein, T_(c) is a picture order count value, that is, the display order information allocated to the current B picture, T_(f) is a picture order count value, that is, the display order information allocated to the forward reference picture for direct mode or a picture order count value, that is, the display order information allocated to the reference picture closest to the B picture in case that the forward motion vector is calculated by the equation (4), and T_(b) is a picture order count value, that is, the display order information allocated to the backward reference picture for direct mode. $\begin{matrix} {B_{C}^{\prime} = {{B_{f} \times \frac{\left( {T_{b} - T_{c}} \right)}{\left( {T_{b} - T_{f}} \right)}} + {B_{b} \times \frac{\left( {T_{c} - T_{f}} \right)}{\left( {T_{b} - T_{f}} \right)}}}} & (7) \end{matrix}$

[0045] As described above, according to the present invention, the forward motion vector of direct mode is obtained from the motion vector of the co-located block in the backward reference picture for direct mode, and a predicted block of the B picture, which is about to be coded, is obtained by applying interpolative prediction to the motion-compensated block values. Therefore, the coding efficiency is improved when comparing to that of the conventional art.

[0046] Also, according to the present invention, the forward motion vector of direct mode is obtained from the reference picture closest to the B picture which is about to be coded (or decoded) presently and having higher similarity with the B picture, and the predicted block of the B picture is obtained by applying the interpolative prediction to the blocks which are motion-compensated from above forward motion vector and backward motion vector of direct mode. Therefore, the accuracy of the predicted block can be improved and the coding efficiency can be improved.

[0047] As the present invention may be embodied in several forms without departing from the spirit or essential characteristics thereof, it should also be understood that the above-described embodiments are not limited by any of the details of the foregoing description, unless otherwise specified, but rather should be construed broadly within its spirit and scope as defined in the appended claims, and therefore all changes and modifications that fall within the metes and bounds of the claims, or equivalence of such metes and bounds are therefore intended to be embraced by the appended claims. 

What is claimed is:
 1. A block prediction method using improved direct mode comprising the step of: a first step for calculating forward and backward motion vectors of direct mode for a B picture which will be coded (or decoded) presently; a second step for obtaining two distinct motion-compensated blocks using the forward and backward motion vectors of direct mode obtained in the first step; and a third step for predicting a block of the B picture which will be coded (or decoded) presently by applying an interpolative prediction for two distinct motion-compensated blocks obtained in the second step.
 2. The method of claim 1, wherein the forward motion vector in the first step is obtained from a forward reference picture for direct mode for the B picture which is about to be coded (or decoded) presently, in which the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 3. The method of claim 1, wherein the forward motion vector in the first step is obtained from the reference picture closest to the B picture which is about to be coded (or decoded) among the forward reference pictures.
 4. The method of claim 1, wherein the backward motion vector in the first step is obtained from a backward reference picture for direct mode for the B picture which is about to be coded (or decoded) presently.
 5. A block prediction method using improved direct mode comprising the step of: a first step for obtaining a forward motion vector of direct mode which is about to be coded (or decoded) for the B picture; a second step for obtaining a backward motion vector of direct mode which is about to be coded (or decoded) for the B picture; a third step for obtaining two distinct motion-compensated blocks using the forward and backward motion vectors of direct mode; and a fourth step for predicting block of the B picture which is about to be coded (or decoded) presently by applying an interpolative prediction to two distinct motion-compensated blocks using a temporal distance between respective reference pictures.
 6. The method of claim 5, wherein the forward motion vector in the first step is obtained from a forward reference picture for direct mode for the B picture which is about to be coded (or decoded), in which the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 7. The method of claim 6, wherein the forward motion vector of direct mode is obtained by following equation, ${MV}_{f} = \frac{{TR}_{B} \times {MV}}{{TR}_{D}}$

herein, MV_(f) is the forward motion vector of direct mode pointing to the forward reference picture for direct mode, TR_(B) is a temporal distance between the forward reference picture for direct mode and the current B picture, MV is a motion vector of a co-located block in the backward reference picture for direct mode, and TR_(D) is a temporal distance between the forward reference picture for direct mode and the backward reference picture for direct mode.
 8. The method of claim 5, wherein the forward motion vector in the first step is obtained from a reference picture closest to the B picture which is about to be coded (or decoded) presently among the forward reference pictures.
 9. The method of claim 8, wherein the forward motion vector of direct mode is obtained by following equation, ${MV}_{f} = \frac{{TR}_{N} \times {MV}}{{TR}_{D}}$

herein, MV_(f) is the forward motion vector of direct mode pointing to a reference picture closest to the current B picture, TR_(N) is a temporal distance between the reference picture closest to the current B picture and the current B picture, MV is a motion vector of a co-located block in the backward reference picture for direct mode, and TR_(D) is a temporal distance between the forward reference picture for direct mode and the backward reference picture for direct mode, in which the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 10. The method of claim 5, wherein the backward motion vector in the second step is obtained from a backward reference picture for direct mode for the B picture which is about to be coded (or decoded) presently.
 11. The method of claim 5, wherein the fourth step predicts the block of B picture by following equation, $B_{c}^{\prime} = {{B_{f} \times \frac{\left( {{TR}_{D} - {TR}_{B}} \right)}{{TR}_{D}}} + {B_{b} \times \frac{{TR}_{B}}{{TR}_{D}}}}$

herein, B_(c)′ is a predicted value of a block which is about to be coded (or decoded), B_(f) is a motion-compensated block by the forward motion vector of direct mode, B_(b) is a motion-compensated block by the backward motion vector of direct mode, TR_(D) is the temporal distance between the forward reference picture for direct mode and the backward reference picture for direct mode, and TR_(B) is the temporal distance between the forward reference picture for direct mode and the current B picture, in which the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 12. The method of claim 5, wherein the fourth step predicts the block of B picture following equation, $B_{C}^{\prime} = {{B_{f} \times \frac{\left( {{TR}_{D} - {TR}_{B}} \right)}{\left( {{TR}_{N} + {TR}_{D} - {TR}_{B}} \right)}} + {B \times \frac{{TR}_{N}}{\left( {{TR}_{N} + {TR}_{D} - {TR}_{B}} \right)}}}$

herein, B_(c)′ is a predicted value of a block which is about to be coded (or decoded), B_(f) is a motion-compensated block by the forward motion vector of direct mode pointing to a reference picture closest to the current B picture, B_(b) is a motion-compensated block by the backward motion vector of direct mode, TR_(D) is the temporal distance between the forward reference picture for direct mode and the backward reference picture for direct mode, TR_(B) is the temporal distance between the forward reference picture for direct mode and the current B picture, and TR_(N) is a temporal distance between the reference picture closest to the current B picture and the current B picture, in which the forward reference picture for direct mode is the reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 13. A block prediction method using improved direct mode comprising the step of: a first step for obtaining a forward motion vector of direct mode which is about to be coded (or decoded) for the B picture; a second step for obtaining a backward motion vector of direct mode which is about to be coded (or decoded) for the B picture; a third step for obtaining two distinct motion-compensated blocks using the forward and backward motion vectors for direct mode; and a fourth step for predicting block of the B picture which is about to be coded (or decoded) presently by applying an interpolative prediction to two distinct motion-compensated blocks using display order information between respective reference pictures.
 14. The method of claim 13, wherein the forward motion vector of the first step is obtained from a forward reference picture for direct mode for the B picture which is about to be coded (or decoded), in which the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 15. The method of claim 14, wherein the forward motion vector of direct mode is obtained by following equation, ${MV}_{f} = \frac{{TR}_{B} \times {MV}}{{TR}_{D}}$

herein, MV_(f) is the forward motion vector of direct mode pointing to the forward reference picture for direct mode, TR_(B) is a temporal distance between the forward reference picture for direct mode and the current B picture, MV is a motion vector of a co-located block in the backward reference picture for direct mode, and TR_(D) is a temporal distance between the forward reference picture for direct mode and the backward reference picture for direct mode.
 16. The method of claim 13, wherein the forward motion vector of the first step is obtained from a reference picture closest to the B picture which is about to be coded (or decoded) presently among the forward reference pictures.
 17. The method of claim 16, wherein the forward motion vector of direct mode is obtained by following equation, ${MV}_{f} = \frac{{TR}_{N} \times {MV}}{{TR}_{D}}$

herein, MV_(f) is the forward motion vector of direct mode pointing to a reference picture closest to the current B picture, TR_(N) is a temporal distance between the reference picture closest to the current B picture and the current B picture, MV is a motion vector of a co-located block in the backward reference picture for direct mode, and TR_(D) is a temporal distance between the forward reference picture for direct mode and the backward reference picture for direct mode, in which the forward reference picture for direct mode is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode.
 18. The method of claim 13, wherein the backward motion vector in the second step is obtained from a backward reference picture for direct mode for the B picture which is about to be coded (or decoded) presently.
 19. The method of claim 13, wherein the fourth step predicts a block of the B picture by following equation, $B_{C}^{\prime} = {{B_{f} \times \frac{\left( {T_{b} - T_{c}} \right)}{\left( {T_{b} - T_{f}} \right)}} + {B_{b} \times \frac{T_{c} - T_{f}}{\left( {T_{b} + T_{f}} \right)}}}$

herein, B_(c)′ is a predicted value of a block which is about to be coded (or decoded) of the B picture, B_(f) is a motion-compensated block by the forward motion vector of direct mode, T_(c) is a picture order count value, that is, the display order information allocated to the current B picture, T_(f) is a picture order count value, that is, the display order information allocated to the forward reference picture for direct mode which is a reference picture pointed by the motion vector of the co-located block in the backward reference picture for direct mode, and T_(b) is a picture order count value, that is, the display order information allocated to the backward reference picture for direct mode.
 20. The method of claim 13, wherein the fourth step predicts a block of the B picture by following equation, $B_{C}^{\prime} = {{B_{f} \times \frac{\left( {T_{b} - T_{c}} \right)}{\left( {T_{b} - T_{f}} \right)}} + {B_{b} \times \frac{T_{c} - T_{f}}{\left( {T_{b} + T_{f}} \right)}}}$

herein, B_(c)′ is a predicted value of a block which is about to be coded (or decoded) of the B picture, B_(f) is a motion-compensated block by the forward motion vector of direct mode, T_(c) is a picture order count value, that is, the display order information allocated to the current B picture, T_(f) is a picture order count value, that is, the display order information allocated to the reference picture closest to the B picture, in case that the forward motion vector of direct mode is obtained from the reference picture closest to the B picture, and T_(b) is a picture order count value, that is, the display order information allocated to the backward reference picture for direct mode. 